#ifndef REGISTERWIDGET_H
#define REGISTERWIDGET_H

#include <QMap>
#include <QTimer>
#include <QWidget>
#include "global.h"
#include <QMap>
namespace Ui {
class RegisterWidget;
}

class RegisterWidget : public QWidget
{
    Q_OBJECT

public:
    explicit RegisterWidget(QWidget *parent = nullptr);
    ~RegisterWidget();
    void Clear();
private:
    Ui::RegisterWidget *ui;

    QTimer *_timer; // 定时器
    QTimer * _countdownTimer;
    int _countDown;
    int _remainingTime; // 剩余时间（秒）
    bool count[5];
    QMap<TipErr, QString> _tipErrs;
    void getCode(); // 获取验证码
    void startCountdown(); // 启动倒计时
    void updateCountdown(); // 更新倒计时
    void connectTips(); // 设置提示消息
    void AddTipErr(TipErr te, QString tips);
    void DelTipErr(TipErr te);
    void showTip(QString str,QString state); // 显示消息
    void SlotRegModFinish(ReqId reqId,QString res,ErrorCodes err);
    void RegisterIsEmpty(); // 判断是否有文本框为空
    void initHttpHandlers();
    QMap<ReqId,std::function<void(const QJsonObject&)>> _handlers;
signals:
    void SwitchLoin();
};

#endif // REGISTERWIDGET_H
